package edu.kit.aifb.ldsbench.generator.util2;

import edu.kit.aifb.ldstream.stat.distrib.IDistribution;

public interface IDistributionValues {
	/**
	 * Returning values with the given distribution.
	 * 
	 * @param distrib the distribution of the values
	 * @param numValues the number of the values returned. Must be greater than 0.
	 * @return an array filled with values corresponding to the given distribution. The size of the returned value = numValues.
	 */
	public double[] getDistributionValue(IDistribution distrib, int numValues);
	
	/**
	*	Returning on value of the given distribution
	*	@param the distribution
	*	@return the computed value according to the corresponding distribution.
	*/
	public double getDistributionValue(IDistribution distrib);
	
	/**
	 * Shutting down properly.
	 */
	public void shutdown();
}
